<%@page import="com.spring.pick2pick.model.FileInfo"%>
<%@page import="com.spring.pick2pick.common.ImageUtil"%>
<%@page import="com.spring.pick2pick.common.MultipartBox"%>
<%@page import="com.spring.pick2pick.common.PatternChecker"%>
<%@page import="java.net.URLEncoder"%>
<%@page import="java.io.OutputStream"%>
<%@page import="java.io.FileInputStream"%>
<%@page import="java.io.File"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%
	// 리사이즈할 크기를 파라미터로 받음
	String size = request.getParameter("size");
	if (size == null) {
		size = "";
	}
	size = size.trim();
	if (!size.equals("")) {
		size = new String(size.getBytes("ISO-8859-1"), "UTF-8");
	}
	
	int width = 0;
	
	if (!size.equals("")) {
		if (PatternChecker.getInstance().isNum(size)) {
			width = Integer.parseInt(size);
		}
	}
	
	MultipartBox mbox = MultipartBox.getInstance();

	String fileOrgName = request.getParameter("fileOrgName");
	if (fileOrgName == null) {
		fileOrgName = "";
	}
	fileOrgName = fileOrgName.trim();
	/* if (!fileOrgName.equals("")) {
		fileOrgName = new String(fileOrgName.getBytes("ISO-8859-1"), "UTF-8");
	} */
	String fileSaveName = request.getParameter("fileSaveName");
	if (fileSaveName == null) {
		fileSaveName = "";
	}
	fileSaveName = fileSaveName.trim();
	/* if (!fileSaveName.equals("")) {
		fileSaveName = new String(fileSaveName.getBytes("ISO-8859-1"), "UTF-8");
	} */
	String fileDir = request.getParameter("fileDir");
	if (fileDir == null) {
		fileDir = "";
	}
	fileDir = fileDir.trim();
	/* if (!fileDir.equals("")) {
		fileDir = new String(fileDir.getBytes("ISO-8859-1"), "UTF-8");
	} */
	
	int fileSize = 0;
	String fileSize_str = request.getParameter("fileSize");
	if (fileSize_str == null) {
		fileSize_str = "";
	}
	fileSize_str = fileSize_str.trim();
	/* if (!fileSize_str.equals("")) {
		fileSize_str = new String(fileSize_str.getBytes("ISO-8859-1"), "UTF-8");
	} */
	if (PatternChecker.getInstance().isValue(fileSize_str)) {
		if (PatternChecker.getInstance().isNum(fileSize_str)) {
			fileSize = Integer.parseInt(fileSize_str);
		}
	}
	
	String fileType = request.getParameter("fileType");
	if (fileType == null) {
		fileType = "";
	}
	fileType = fileType.trim();
	/* if (!fileType.equals("")) {
		fileType = new String(fileType.getBytes("ISO-8859-1"), "UTF-8");
	} */
	
	// 사이즈가 지정된 경우 썸네일이미지 처리
	if (width > 0) {
		// 파일이름과 확장자 분리
		int p = fileSaveName.lastIndexOf(".");
		String name = fileSaveName.substring(0, p);
		String ext = fileSaveName.substring(p+1);
		
		// 썸네일 이미지의 파일이름 결정
		String thumbName = name + "_" + width + "." + ext;
		
		// 썸네일 파일이 없을 경우에만 생성
		File src = new File(fileDir, fileSaveName);
		File dsc = new File(fileDir, thumbName);
		if (!dsc.exists()) {
			ImageUtil.getInstance().resize(src.getAbsolutePath(), dsc.getAbsolutePath(), width, 0);
		}
		
		// 사용자에게 다운로드해 줄 파일의 이름을 썸네일로 변경
		fileSaveName = thumbName;
		
	}
	
	FileInfo info = new FileInfo();
	
	info.setFieldName(null);
	info.setFileOrgName(fileOrgName);
	info.setFileSaveName(fileSaveName);
	info.setFileDir(fileDir);
	info.setFileSize(fileSize);
	info.setFileType(fileType);
	
	mbox.printStram(info, response, out);
%>